# re正则表达式:使用表达式对字符串进行匹配的语法规则

"""
^：以那个元字符开头
$：以那个元字符结尾

元字符（^ $的表达式，可以匹配固定的某些东西）
. 任意字符（除了下划线）
\w 数字、字母、下划线
\d：0-9的数字
\s 空白符
\n \t 换行、制表符

\W 非字母或下划线
\D 非数字
\S 非空白符
a|b 匹配字符a或b
() 括号内的表达式，也表示一个组

[...] 匹配字符组的字符  [a-zA-Z0-9]表示匹配数字字母
[^...] 除了字符组里面的所有字符
[:alpha:] 是一个正则表达式元字符，表示匹配任何一个字母字符。
[:alnum:] 可以用来代表字母（包括大小写）和数字字符。
[:space:] 可以用来匹配空格、制表符、换行符等空白字符。
[:punct:] 可以用来匹配所有标点符号，包括逗号、句号、问号、感叹号等。

量词（控制前面元字符出现的的字数）

* 重复0次或更多次  \d*:可以有或没有数字
+ 重复1次或多次（必须出现）   \d+:数字必须要有一次
? 重复0次或多次（出现或不出现）
{n} 出现n次    \d{5}:5个数字
    注意点：想要使用这个，正则表达式中必须含义结尾，否则大于n的次数也是可以测试通过的，只不过捕获的时候还是捕获n个
    [n-m]：n与m之间的任意值即可，包括n和m
{n,} 出现n或更多次
{n,m} 出现n到m次

贪婪匹配或惰性匹配
.* 贪婪匹配，让*尽可能多的匹配
.*? 惰性匹配，让*尽可能少的匹配
"""
